Low-rate sampling of pulse streams

ABSTRACT

A method includes accepting an analog input signal that includes a sequence of pulses. The analog input signal is filtered so as to produce a filter output, using a filter whose time-domain response is confined to a finite time period and whose frequency-domain response is non-zero at a finite set of integer multiples of a frequency shift Δω, and is zero at all other integer multiples of Δω. The filter output is sampled so as to produce digital samples. Respective amplitudes and time positions of the pulses in the sequence are calculated based on the digital samples.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Patent Application 61/313,748, filed Mar. 14, 2010, whose disclosure is incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates generally to signal sampling, and particularly to methods and systems for sampling pulse streams.

BACKGROUND OF THE INVENTION

Reception and reconstruction of analog pulse sequences are performed in a wide variety of applications, including processing of neuronal signals, bio-imaging, image processing, radar systems and Ultra-Wideband (UWB) communication. Various methods for sampling and reconstruction of analog pulse sequences are known in the art. Example schemes are described, for example, by Vetterli et al., in “Sampling Signals with Finite Rate of Innovation,” IEEE Transactions on Signal Processing, volume 50, no. 6, June, 2002, pages 1417-1428, which is incorporated herein by reference. Other example schemes are described by Blu et al., in “Sparse Sampling of Signal Innovations,” IEEE Signal Processing Magazine, volume 25, no. 2, March, 2008, pages 31-40, which is incorporated herein by reference.

Some sampling schemes sample finite sequences of pulses. Example methods are described in Vetterli et al., cited above; and by Maravic and Vetterli, in “Sampling and Reconstruction of Signals with Finite Rate of Innovation in the Presence of Noise,” IEEE Transactions on Signal Processing, volume 53, no. 8, August, 2005, pages 2788-2805; by Dragotti et al., in “Sampling Momemnts and Reconstructing Signals of Finite Rate of Innovation: Shannon Meets Strang-Fix,” IEEE Transactions on Signal Processing, volume 55, no. 5, May, 2007, pages 1741-1757; and by Seelamantule and Unser, in “A Generalized Sampling Method for Finite-Rate-of-Innovation-Signal Reconstruction,” IEEE Signal Processing Letters, volume 15, 2008, pages 813-816, which are all incorporated herein by reference.

SUMMARY OF THE INVENTION

An embodiment of the present invention that is described herein provides a method, which includes accepting an analog input signal including a sequence of pulses. The analog input signal is filtered so as to produce a filter output, using a filter whose time-domain response is confined to a finite time period and whose frequency-domain response is non-zero at a finite set of integer multiples of a frequency shift Δω, and is zero at all other integer multiples of Δω. The filter output is sampled so as to produce digital samples. Respective amplitudes and time positions of the pulses in the sequence are calculated based on the digital samples.

In some embodiments, the frequency-domain response of the filter is representable as a finite sum of multiple frequency-shifted replicas of a filtering function, wherein the filtering function is zero at all the integer multiples n·Δω of the frequency shift Δω, except n=0. In an embodiment, the filtering function includes a normalized sinc function. In a disclosed embodiment, the frequency-shifted replicas in the finite sum are weighted with respective weight coefficients. The weight coefficients may be chosen so as to optimize estimation of the amplitudes and the time positions when the digital samples are distorted by noise.

In another embodiment, filtering the input signal and sampling the filter output include processing the input signal using a single processing channel that includes a single filter and a single sampler. In yet another embodiment, calculating the amplitudes and the time positions includes applying an annihilating filter to the digital samples. In a disclosed embodiment, sampling the filter output includes digitizing the filter output at uniformly-spaced sampling intervals. Alternatively, sampling the filter output includes digitizing the filter output at non-uniformly-spaced sampling intervals.

In some embodiments, the input signal is infinite and periodic. In other embodiments, the input signal is confined to a finite time interval. In an example embodiment, filtering the input signal includes applying to the input signal a superposition of two or more instances of the filter that are shifted in time relative to one another by respective multiples of the finite time interval. In yet another embodiment, the pulses in the input signal are confined to bursts, such that each burst is confined to a finite time interval, and filtering the input signal includes applying to the input signal, separately in each burst, a superposition of two or more instances of the filter that are shifted in time relative to one another by respective multiples of the finite time interval.

In some embodiments, accepting the input signal includes receiving multiple ultrasound echo pulses that are reflected from tissue, and the method includes outputting the amplitudes and the time positions of the echo pulses so as to diagnose the tissue based on the amplitudes and the time positions. In some embodiments, accepting the input signal includes receiving at least one signal type selected from a group of types consisting of an ultrasound signal, a communication signal, a radar signal, a biological signal and an image signal, which carries the sequence of the pulses.

There is additionally provided, in accordance with an embodiment of the present invention, apparatus including an input interface and a sampling unit. The input interface is configured to accept an analog input signal including a sequence of pulses. The sampling unit includes a filter whose time-domain response is confined to a finite time period and whose frequency-domain response is non-zero at a finite set of integer multiples of a frequency shift Δω, and is zero at all other integer multiples of Δω. The sampling unit is configured to filter the analog input signal using the filter so as to produce a filter output, and to sample the filter output so as to produce digital samples.

The present invention will be more fully understood from the following detailed description of the embodiments thereof, taken together with the drawings in which:

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a graph showing an input signal comprising a sequence of analog pulses, in accordance with an embodiment of the present invention;

FIG. 2 is a block diagram that schematically illustrates a system for sampling and reconstruction of analog pulse sequences, in accordance with an embodiment of the present invention;

FIG. 3 is a graph showing a frequency-domain transfer function of a “sum-of-sincs” filter, in accordance with an embodiment of the present invention;

FIG. 4 is a flow chart that schematically illustrates a method for sampling and reconstruction of analog pulse sequences, in accordance with an embodiment of the present invention; and

FIG. 5 is a graph showing a sampling scheme for sampling an infinite pulse sequence, in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION OF EMBODIMENTS Overview

Embodiments of the present invention that are described herein provide improved methods and systems for sampling sequences of analog pulses. These methods and systems use a novel class of sampling kernels, or pre-sampling filters, whose time-domain response is limited (i.e., confined to a finite time period) and whose frequency-domain response is non-zero at a finite set of integer multiples of a frequency shift Δω, and is zero at all other integer multiples of Δω.

In some embodiments, the frequency-domain response of the filter at any given frequency ω is representable as a finite sum of multiple frequency-shifted replicas of a certain filtering function. The filtering function is zero at all integer multiples n·Δω for some frequency shift Δω, except n=0. In some disclosed embodiments, the sampling kernel is representable as a finite sum of normalized sinc functions of the form sin(πω)/(πω). These latter filters are referred to herein as “Sum-of-Sincs” (SoS) filters.

In some embodiments, a sampling and reconstruction system accepts an analog input signal that is made up of a sequence of pulses. The pulses in the signal have a known pulse shape but unknown amplitudes and time positions. The system filters the input signal using a filter whose response meets the above-described conditions, and then samples the filtered signal. As will be shown below, filtering the signal with such a filter prior to sampling enables the system to calculate the unknown pulse amplitudes and time positions from the sampled signal.

When using the disclosed filters, perfect reconstruction of the pulse amplitudes and time positions is possible even at very low sampling rates. For a periodic signal having L pulses per period, for example, reconstruction is possible for sampling rates of only 2L samples per period, even when the pulses occupy only a small fraction of the time. The filter parameters, e.g., the number of filtering functions and their relative weights in the sum, can be chosen to match various design goals.

Unlike some known sampling schemes, the disclosed techniques are numerically stable and resilient to noise for both small and large numbers of pulses. Moreover, the filters described herein are time-limited, and can therefore be used for sampling finite and a-periodic pulse sequences, as well. Example simulated test results of the disclosed techniques can be found in U.S. Provisional Patent Application 61/313,748, cited above.

System Description

Embodiments of the present invention sample and reconstruct sequences of analog pulses. The sequences may be finite, infinite, periodic or a-periodic. Typically, the pulses in the sequence are of a known pulse shape but unknown amplitudes and time positions. This type of signals is sometimes referred to as having a Finite Rate of Innovation (FRI), since they have a finite number of degrees of freedom per unit time. The methods and systems described herein apply FRI compressed-sensing techniques in ultrasound imaging, as well as in various other applications.

FIG. 1 is a graph showing an input signal comprising a sequence of analog pulses, in accordance with an embodiment of the present invention. The present example shows four pulses of the same known pulse shape. The four pulses have amplitudes a₁ . . . a₄ and respective time positions t₁ . . . t₄.

FIG. 2 is a block diagram that schematically illustrates a system 20 for sampling and reconstruction of analog pulse sequences, in accordance with an embodiment of the present invention. In various embodiments, system 20 may be used in any suitable application that involves processing of analog pulse sequences. Example applications include ultrasound imaging and other bio-imaging modalities, processing of neuronal signals or other biological signals, processing of radar signals, image processing and Ultra-Wideband (UWB) communication.

System 20 comprises an input interface 24, a sampling unit 28 and a reconstruction unit 32. Interface 24 accepts an analog input signal denoted x(t). The input signal comprises a sequence of analog pulses of a known pulse shape but unknown amplitudes and time positions (occurrence times). Sampling unit 28 samples the input signal efficiently using a low sampling rate, as will be explained in detail below. Unit 28 produces a stream of samples denoted c[n]. Reconstruction unit 32 processes the sample stream so as to reconstruct the amplitudes and time positions (a_(i), t_(i)) of the pulses in x(t). Since the pulse shape of the pulses is known, the reconstructed amplitudes and time positions provide a complete representation of the analog signal x(t). The reconstructed amplitudes and time positions are typically provided as output.

In the disclosed embodiments, sampling unit 28 filters input signal x(t) using a filter 36, whose frequency-domain response at any given frequency ω is representable as a finite sum of multiple frequency-shifted replicas of a certain filtering function. The filtering function is non-zero at ω=0, and zero at all other integer multiples of Δω.

In the present embodiment, the filter transfer function consists of a sum of a finite number of sinc functions. Filter 36 is therefore referred to as a “Sum-of-Sincs” (SoS) filter. The description that follows refers mainly to the use of SoS filters. In alternative embodiments, however, filter 36 may comprise any other suitable filter that meets the above-described condition.

The term “sinc function” in the present context refers to any function of the form sin(arg)/arg, wherein arg denotes the argument of the function. Unit 32 comprises a sampler 40, e.g., an Analog-to-Digital Converter (ADC), which samples the output of filter 36 to produce digital samples c[n]. In the present example system 20 comprises a single processing channel, including a single filter and a single sampler.

The system configuration of FIG. 1 is an example configuration, which is chosen purely for the sake of conceptual clarity. In alternative embodiments, any other suitable system configuration can be used. For example, in some embodiments system 20 performs sampling but not reconstruction, in which case unit 32 may be omitted.

The elements of system 20 may be implemented using hardware. Digital elements can be implemented, for example, in one or more off-the-shelf devices, Application-Specific Integrated Circuits (ASICs) or FPGAs. Analog elements can be implemented, for example, using discrete components and/or one or more analog ICs. Some system elements may be implemented, additionally or alternatively, using software running on a suitable processor, e.g., a Digital Signal Processor (DSP). Some system elements may be implemented using a combination of hardware and software elements. In one example embodiment, system 20 is implemented in a single device (e.g., IC), which accepts an analog pulse sequence as input and produces the pulse amplitudes and time positions as output.

When implementing the disclosed techniques using a programmable processor, the processor typically comprises a general-purpose processor, which is programmed in software to carry out the functions described herein. The software may be downloaded to the processor in electronic form, over a network, for example, or it may, alternatively or additionally, be provided and/or stored on non-transitory tangible media, such as magnetic, optical, or electronic memory.

Efficient Sampling of Pulse Sequences

The disclosed techniques can be used for sampling and reconstructions of analog pulse sequences that may be periodic, a-periodic, finite or infinite. The following description addresses infinite periodic pulse sequences first, and later generalizes the techniques to other sequence types.

Consider a τ-periodic pulse sequence that is given by:

$\begin{matrix} {{x(t)} = {\sum\limits_{m \in {\mathbb{Z}}}{\sum\limits_{l = 1}^{L}{a_{l}{h\left( {t - t_{l} - {m\; \tau}} \right)}}}}} & \lbrack 1\rbrack \end{matrix}$

wherein h(t) denotes a known pulse shape, τ denotes the known period of the signal, and {t_(l),a_(l)}_(l=1) ^(L), t_(l)∈[0,τ), a_(l)∈

, l=1 . . . L denote the unknown time positions and amplitudes of the pulses within the period. The signal thus has 2L degrees of freedom.

The disclosed techniques sample and reconstruct x(t) from a minimal number of samples. In many practical cases, the pulses in x(t) have a small temporal support. In other words, signal x(t) has non-zero amplitude in only a small fraction of the time. As such, sampling the signal directly and at uniform intervals has a high likelihood of missing the pulse positions and producing many zero samples. The disclosed techniques therefore typically sample the signal following suitable filtering, using either uniform or non-uniform sampling times.

Let f(t) denote the periodic continuation of the pulse shape h(t), i.e., f(t)=

h(t−mτ). Using Poisson's well-known summation formula, f(t) can be written as:

$\begin{matrix} {{f(t)} = {\frac{1}{\tau}{\sum\limits_{k \in {\mathbb{Z}}}{{H\left( \frac{2\pi \; k}{\tau} \right)}^{{j2\pi}\; k\; {t/\tau}}}}}} & \lbrack 2\rbrack \end{matrix}$

wherein H(ω) denotes the Continuous-Time Fourier Transform (CTFT) of pulse h(t). (The CTFT of a signal x(t) is defined as X(ω)=∫_(−∞) ^(∞)x(t)e^(−jωt)dω). From Equations [1] and [2] we get:

$\begin{matrix} {{x(t)} = {\ldots = {\sum\limits_{k \in {\mathbb{Z}}}{{X\lbrack k\rbrack}^{{j2\pi}\; k\; {t/\tau}}}}}} & \lbrack 3\rbrack \end{matrix}$

wherein X[k] is given by:

$\begin{matrix} {{X\lbrack k\rbrack} = {\frac{1}{\tau}{H\left( \frac{2\pi \; k}{\tau} \right)}{\sum\limits_{l = 1}^{L}{a_{l}^{{- {j2\pi}}\; k\; {t_{l}/\tau}}}}}} & \lbrack 4\rbrack \end{matrix}$

The expression in Equation [3] represents signal x(t) using a Fourier series expansion with the Fourier coefficients X[k] given in Equation [4]. The following description shows that if at least 2L of the Fourier coefficients of x(t) are known, the time positions and amplitudes {t_(l),a_(l)}_(l=1) ^(L) of the pulses in x(t) can be recovered using known spectral analysis methods.

Define a set

of M consecutive indices such that H(2πk/τ)≠0,∀k∈

. Such a set typically exists for short-time-support pulses h(t). Let H denote a M×M diagonal matrix whose k^(th) diagonal element is (1/τ)H(2πk/τ). Let V(t) denote an M×L matrix whose kl^(th) element is

$^{- \frac{{j2\pi}\; k\; t_{l}}{\tau}},$

wherein t={t₁, . . . t_(L)} denotes a vector of the unknown time positions of the pulses. Let a denote an L-element vector whose lth element is a₁, and x denote an M-element vector whose k^(th) element is the Fourier coefficient X[k]. Equation [4] can thus be written in matrix form as:

x=HV(t)a  [5]

Since H is invertible by construction, we can define y=H⁻¹x that satisfies:

y=V(t)a  [6]

Matrix V is a Vandermonde matrix and therefore has full column rank as long as M≧L and the time positions are distinct, i.e., t_(i)≠t_(j) for all i≠j. The k^(th) element in vector y can be written explicitly as:

$\begin{matrix} {y_{k} = {\sum\limits_{l = 1}^{L}{a_{l}^{{- {j2\pi}}\; k\; {t_{l}/\tau}}}}} & \lbrack 7\rbrack \end{matrix}$

Thus, given the vector x, Equation [6] above is the known problem of finding the frequencies and amplitudes of a sum of L complex exponentials. This problem can be solved as long as |χ|=M≧2L. The frequencies of the exponentials can be found using any suitable method. For example, the Vetterli at al. and Blu et al. articles, cited above, use an annihilating filter for this purpose.

The annihilating filter approach can extract the frequencies using only M=2L samples, and may therefore be useful in minimal-rate sampling applications. Nevertheless, any other suitable technique can also be used. One example technique is called MUSIC, and is described by Schmidt, in “Multiple Emitter Location and Signal Parameter Estimation,” IEEE Transactions on Antennas and Propagation, volume 34, no. 3, March, 1986, pages 276-280, and by Bienvenu and Kopp, in “Adaptivity to Background Noise Spatial Coherence for High Resolution Passive Methods,” IEEE International Conference on Acoustics, Speech and Signal Processing, volume 5, April, 1980, pages 307-310, which are incorporated herein by reference. Another example technique is called ESPRIT, and is described by Roy and Kailath, in “ESPRIT—Estimation of Signal Parameters via Rotational Invariance Techniques,” IEEE Transactions on Acoustics, Speech and Signal Processing, volume 37, no. 7, July, 1989, pages 984-995, which is incorporated herein by reference.

The description above shows that spectral analysis methods (e.g., annihilating filter) can be used to calculate the time positions and amplitudes {t_(l),a_(l)}_(l=1) ^(L) of the pulses in signal x(t) from a given vector x of M≧2L Fourier series coefficients. The following description shows that the Fourier series coefficients can be derived from the sample stream c[n], which is produced by sampling unit 28 using Sum-of-Sincs filtering followed by sampling.

The description below first develops a general condition on the sampling filter, and then proposes the SoS filter as an example filter that meets this condition. Although the embodiments described herein refer to sampling at uniform sampling intervals, the technique can be generalized in a straightforward manner to sampling at non-uniform intervals, as well.

Consider a signal x(t) that is sampled using a sampling kernel s*(−t) and a sampling period T (i.e., filtered with a filter whose time-domain impulse response is s*(−t), followed by sampling with sampling period T), to produce a sample stream c[n]. The * operator denotes complex conjugation. The samples c[n] are given by:

$\begin{matrix} {{c\lbrack n\rbrack} = {{\int_{- \infty}^{\infty}{{x(t)}{s^{*}\left( {t - {n\; T}} \right)}{t}}} = {\langle{{s\left( {t - {n\; T}} \right)},{x(t)}}\rangle}}} & \lbrack 8\rbrack \end{matrix}$

wherein the < > operator denotes inner product, i.e.,

x(t),y(t)

=∫_(−∞) ^(∞)x*(t)y(t)dt. Substituting Equation [3] above into Equation [8] gives:

$\begin{matrix} {{c\lbrack n\rbrack} = {\sum\limits_{k \in {\mathbb{Z}}}{{X\lbrack k\rbrack}^{\frac{{j2\pi}\; k\; n\; T}{\tau}}{S^{*}\left( \frac{2\pi \; k}{\tau} \right)}}}} & \lbrack 9\rbrack \end{matrix}$

wherein S(ω) denotes the CTFT of s(t). Consider any filter s*(−t) that is chosen to satisfy the following condition:

$\begin{matrix} {{S^{*}(\omega)} = \left\{ \begin{matrix} 0 & {{\omega = \frac{2\pi \; k}{\tau}},\mspace{14mu} {k \notin ϰ}} \\ {nonzero} & {{\omega = \frac{2\pi \; k}{\tau}},\mspace{14mu} {k \in ϰ}} \\ {arbitrary} & {otherwise} \end{matrix} \right.} & \lbrack 10\rbrack \end{matrix}$

The frequency-domain response of such a filter is non-zero at a finite set of integer multiples of a frequency shift Δω (in this case Δω=2π/τ), and is zero at all other integer multiples of Δω. In some embodiments, pulse sequences can be sampled efficiently using filters whose frequency-domain response meets the condition of Equation [10] and whose time-domain response is limited (i.e., confined to a finite time period).

For a filter that is chosen in accordance with the condition of Equation [10], Equation [9] can be rewritten as:

$\begin{matrix} {{c\lbrack n\rbrack} = {\sum\limits_{k \in ϰ}{{X\lbrack k\rbrack}^{{- {j2\pi}}\; k\; n\; {T/\tau}}{S^{*}\left( \frac{2\pi \; k}{\tau} \right)}}}} & \lbrack 11\rbrack \end{matrix}$

Note that unlike Equation [9], the sum in Equation [11] is finite. Note also that any real filter that satisfies Equation [10] will satisfy k∈

−k∈

, and in addition

${{S\left( \frac{2\pi \; k}{\tau} \right)} = {S^{*}\left( \frac{{- 2}\pi \; k}{\tau} \right)}},$

due to the conjugate symmetry of real filters.

Let S denote a M×M diagonal matrix whose k^(th) diagonal element is S*(2πk/τ) for all k∈

, and let c denote an N-element vector whose n^(th) element is c[n]. Using this notation Equation [11] can be written as:

c=V(−t _(s))Sx  [12]

wherein t_(s)={nT:n=0 . . . N−1}, and V is defined as in Equation [5] above but with a different parameter t_(s) and dimensions N×M. Matrix S is invertible by construction. Since matrix V is a Vandermonde matrix, it is left-invertible as long as N≧M. Therefore, the vector of Fourier series coefficients can be calculated using:

x=S ⁻¹ V ^(†)(−t _(s))c  [13]

wherein the † operator denotes Moore-Penrose pseudo-inverse. In the special case where N=M and T=τ/N, the recovery in Equation [13] becomes:

x=S⁻¹DFT{c}  [14]

In other words, the vector of Fourier series coefficients x is obtained by calculating a Discrete Fourier Transform (DFT) of the sample vector, followed by a correction matrix that is related to the sampling filter.

The above-described sampling scheme regards each sample c[n] as a linear combination of the coefficients of x. The sampling kernel s*(−t) is designed to pass the coefficients X[k], k∈

, while suppressing the other coefficients X[k], k∉

. This operation is equivalent to the condition of Equation [10]. Such a scheme ensures that each sample combination is linearly independent of the others. Therefore, the linear system of equations in Equation [12] has full column rank, which allows solving for the vector x. In order to extend this result for non-uniform sampling, the non-uniform sampling times are substituted for the elements of vector t_(s) in Equation [13].

In some embodiments, filter 36 in sampling unit 28 comprises a Sum-of-Sincs (SoS) filter. In other words, the frequency-domain transfer function of filter 36 consists of a finite sum of multiple sinc functions. This sort of filter has two important features: The time positions and amplitudes of the pulses of the input signal can be extracted from the sampled output of the SoS filter using known spectral analysis methods. In addition, the SoS filter is time-limited, a property that enables using it for sampling finite pulse sequences and infinite a-periodic pulse sequences.

FIG. 3 is a graph showing a frequency-domain transfer function of a “sum-of-sincs” filter, in accordance with an embodiment of the present invention. A plot 44 shows the frequency-domain response of filter 36, which in the present example consists of a sum of five sinc functions 48A . . . 48E. Each sinc function has a certain frequency shift, i.e., it is centered on a certain shifted frequency. In the present embodiment all five sinc functions have the same amplitude. In alternative embodiments, however, the sinc functions may have different amplitudes. In the present embodiment the filter transfer function is made up of a sum of five sinc functions. Alternatively, however, any other suitable number of sinc functions can be used.

Consider the following SoS filter transfer function in the frequency domain, which can be used to implement SoS filter 36:

$\begin{matrix} {{G(\omega)} = {\frac{\tau}{\sqrt{2\pi}}{\sum\limits_{k \in ϰ}{b_{k}{{sinc}\left( {\frac{\omega}{2{\pi/\tau}} - k} \right)}}}}} & \lbrack 15\rbrack \end{matrix}$

wherein b_(k)≠0,k∈

. This filter is real-valued if and only if k∈

−k∈

and b_(k)=b*_(−k) for all k∈

. Since each individual sinc function in the sum satisfies

$\begin{matrix} {{{sinc}\left( {\frac{\omega}{2{\pi/\tau}} - k} \right)} = \left\{ \begin{matrix} 1 & {{\omega = \frac{2\pi \; k^{\prime}}{\tau}},\mspace{14mu} {k^{\prime} = k}} \\ 0 & {{\omega = \frac{2\pi \; k^{\prime}}{\tau}},\mspace{14mu} {k^{\prime} \neq k}} \end{matrix} \right.} & \lbrack 16\rbrack \end{matrix}$

the overall SoS filter transfer function G(ω) satisfies the condition of Equation [10] by construction.

In the time domain, the response of the SoS filter is given by:

$\begin{matrix} {{g(t)} = {{{rect}\left( {t/\tau} \right)}{\sum\limits_{k \in ϰ}{b_{k}^{{j2\pi}\; k\; {t/\tau}}}}}} & \lbrack 17\rbrack \end{matrix}$

where rect( ) denotes a unity rectangle function. As can be appreciated, the time-domain response in Equation [17] clearly is clearly time-limited, and has a finite temporal support τ.

The SoS filter transfer function can be extended to a more general structure:

$\begin{matrix} {{G(\omega)} = {\frac{\tau}{\sqrt{2\pi}}{\sum\limits_{k \in ϰ}{b_{k}{\varphi \left( {\frac{\omega}{2{\pi/\tau}} - k} \right)}}}}} & \lbrack 18\rbrack \end{matrix}$

wherein b_(k)≠0,k∈

, and φ(ω) is any function satisfying:

$\begin{matrix} {{\varphi (\omega)} = \left\{ \begin{matrix} 1 & {\omega = 0} \\ 0 & {{\omega } \in} \\ {arbitrary} & {otherwise} \end{matrix} \right.} & \lbrack 19\rbrack \end{matrix}$

The function φ(ω) of Equation [19] is referred to as a filtering function. The frequency-domain response of the filtering function φ(ω), as a function of ω, is zero at all integer multiples of the frequency shift Δω, except for ω=0. The frequency-domain response G(ω) of filter 36 in Equation [18] is represented as a finite sum of multiple frequency-shifted replicas of the filtering function φ(ω).

This generalized structure allows for smoother versions of the rect functions, which may be advantageous for designing practical filters. When using either the SoS transfer function of Equation [15] or the generalized SoS transfer function of Equation [18], the function g(t) represents a class of filters that are determined by the parameters {b_(k)}_(k∈)

. The choice of parameters b_(k) provides degrees of freedom in designing the filter to meet various specifications, design goals or trade-offs.

In some embodiments, a sampling filter having a temporal support τ can be designed by first defining a windowed Fourier series of the form:

Φ(t) = rect(t/τ)b_(k)^(j 2π k t/τ)

Confining to filters that satisfy b_(k)≠0,k∈

, the summation can be truncated by choosing

$b_{k} = \left\{ \begin{matrix} \beta_{k} & {k \in} \\ 0 & {k \notin} \end{matrix} \right.$

as the parameters of g(t) in Equation [17]. With this choice of parameters, g(t) can be viewed as an approximation of Φ(t). Choosing a larger number of parameters will typically provide a better approximation, but require more samples since N should be larger than the cardinality of set

, and vice versa. In one example implementation,

={−p, . . . , p}, and all coefficients b_(k) are set to unity. In another example implementation, coefficients b_(k) are chosen as a Hamming window of length M. In both cases the resulting filters are real-valued.

Example performance results for these filters are shown in U.S. Provisional Patent Application 61/313,748, cited above. In alternative embodiments, any other suitable filters can also be used. An example method for choosing coefficients b_(k) in the presence of noise and associated design considerations are described further below.

FIG. 4 is a flow chart that schematically illustrates a method for sampling and reconstruction of analog pulse sequences, in accordance with an embodiment of the present invention. The method begins with system 20 accepting an analog input signal via interface 24, at an input step 50. The analog input signal comprises a sequence of pulses having a known pulse shape but unknown time positions and amplitudes.

Sampling unit 28 of system 20 filters the analog input signal using SoS filter 36, at a filtering step 54. As explained above, the frequency-domain transfer function of filter 36 consists of a finite sum of multiple sinc functions. Following filtering, sampler 40 samples the output of filter 36, at a sampling step 58. The sampler samples the output of filter 36 at T intervals, to produce sample stream c[n].

In some embodiments, reconstruction unit 32 reconstructs the pulse amplitudes and time positions from the sample stream c[n], at a reconstruction step 62. Unit may use any suitable reconstruction scheme for this purpose, such as various known spectral analysis methods like annihilating filters. Unit 32 typically provides the reconstructed pulse amplitudes and time positions as output.

Sampling of Finite Pulse Sequences

In some embodiments, system 20 samples an analog input signal that includes a finite number of pulses in a finite time interval [0,τ). In these embodiments, sampling unit 28 filters the signal using a superposition of SoS filters that are shifted in time relative to one another by multiples of τ. With this filtering scheme, perfect reconstruction of the pulse amplitudes and time positions is possible with low sampling rate, high numerical stability and resilience to noise.

Consider the following input signal, which is confined to the finite time interval [0,τ) and includes L pulses:

$\begin{matrix} {{{\overset{\sim}{x}(t)} = {\sum\limits_{l = 1}^{L}{a_{l}{h\left( {t - t_{l}} \right)}}}},{t_{l} \in \left\lbrack {0,\tau} \right)},{a_{l} \in},{l = {1\mspace{14mu} \ldots \mspace{14mu} L}}} & \lbrack 21\rbrack \end{matrix}$

wherein h(t) denotes a known pulse shape, and {t_(l),a_(l)}_(l=1) ^(L) denote the unknown time positions and amplitudes of the pulses. The pulse shape h(t) is assumed to have a finite temporal support R, i.e., h(t)=0,∀|t|≧R/2. This assumption holds for most practical applications involving pulse signals.

Since x(t) in Equation [1] above (periodic analog signal case) is the periodic continuation of {tilde over (x)}(t), x(t) can be written as a convolution between {tilde over (x)}(t) and a Dirac comb (a comb of delta functions):

$\begin{matrix} {{x(t)} = {{\overset{\sim}{x}(t)}*{\delta \left( {t - {m\; \tau}} \right)}}} & \lbrack 22\rbrack \end{matrix}$

It can be shown that the samples of the periodic signal can be written as:

c[n]={tilde over (x)}(t)*{tilde over (g)}(−t)|_(t=nT)  [23]

wherein {tilde over (g)}(t)=

g(t+mτ). In other words, sampling the periodic signal x(t) with the filter g*(−t) is equivalent to sampling the finite a-periodic signal {tilde over (x)}(t) with the filter {tilde over (g)}*(−t), which is the periodic continuation of g*(−t).

Therefore, sampling {tilde over (x)}(t) using the periodic (infinite) sampling kernel {tilde over (g)}*(−t) would produce the same samples c[n] as in the periodic case for n=0 . . . N−1. This approach, however, has little practical value since the sampling kernel has infinite energy and temporal support. It is possible, however, to exploit the properties of g(t) and h(t) to obtain a compact-support sampling kernel that produces the c[n] samples with little or no distortion.

Using Equation [9] above and using g*(−t) as the sampling kernel, c[n] in the periodic case can be written as:

$\begin{matrix} {{c\lbrack n\rbrack} = {{\langle{{g\left( {t - {nT}} \right)},{x(t)}}\rangle} = {\ldots = {{\sum\limits_{l = 1}^{L}{a_{l}{\phi \left( {{n\; t} - t_{l} - {m\; \tau}} \right)}}}}}}} & \lbrack 24\rbrack \end{matrix}$

wherein φ(ν)=

g(t−ν),h(t)

. Since g(t) in Equation [17] above vanishes for all |t|>τ/2 and h(t) has a finite support R, the support of φ(t) is R+τ, i.e., φ(t)=0 for all |t|≧(R+τ)/2.

Using this property, the summation in Equation [24] is over non-zero values for indices that satisfy |nT−t_(l)−mτ|<(R+τ)/2. Sampling within the interval [0,τ), i.e., nT∈[0,τ), and noting that the time positions t₁ lie in this interval, we get:

$\begin{matrix} {\frac{R + \tau}{2} > {{{nT} - t_{l} - {m\; \tau}}} \geq {{{m}\tau} - {{{nT} - t_{l}}}} > {\left( {{m} - 1} \right)\tau}} & \lbrack 25\rbrack \end{matrix}$

and therefore:

$\begin{matrix} \left. {{m} < \frac{\frac{R}{\tau} + 3}{2}}\Rightarrow{{m} \leq {\frac{\frac{R}{\tau} + 3}{2} - 1} \equiv r} \right. & \lbrack 26\rbrack \end{matrix}$

In other words, the elements in the summation of Equation [24] vanish for all m except for the values in Equation [26]. Thus, the infinite sum in Equation [24] reduces to a finite sum over |m|<r. Equation [24] becomes:

$\begin{matrix} {{c\lbrack n\rbrack} = {\langle{{\sum\limits_{m = {- r}}^{r}{g\left( {t - {nT} + {m\; \tau}} \right)}},{\sum\limits_{l = 1}^{L}{a_{l}{h\left( {t - t_{l}} \right)}}}}\rangle}} & \lbrack 27\rbrack \end{matrix}$

Let g_(r)(t) denote a sum of 2r+1 periods of g(t):

$\begin{matrix} {{g_{r}(t)} = {\sum\limits_{m = {- r}}^{r}{g\left( {t + {m\; \tau}} \right)}}} & \lbrack 28\rbrack \end{matrix}$

The samples c[n] are given by:

g_(r)(t−nT),{tilde over (x)}(t)

  [29]

Thus, the samples c[n] can be obtained by filtering the a-periodic signal {tilde over (x)}(t) with the filter g*_(r)(−t) prior to sampling. This filter has a compact temporal support of (2r+1)τ.

Thus, in some embodiments, filter 36 in sampling unit 28 is designed to have the time-domain response given in Equation [28], i.e., a sum of time-shifted replicas of a SoS filter. Sampling using this filter enables perfect reconstruction of the time positions and amplitudes of the L pulses in the finite, a-periodic signal {tilde over (x)}(t), with a sampling rate as low as 2L.

In an example embodiment, the support R of h(t) satisfies R≦τ, such that r=1. Filter 36 in this embodiment consists of three periods of g(t):

g _(3p)(t)≡g ₁(t)=g(t−τ)+g(t)+g(t+τ)  [30]

This filter can be implemented, for example, using delay lines whose delays are multiples of τ. In alternative embodiments, the finite, a-periodic signal can be sampled using any other suitable filter according to Equation [28], which may comprise any desired number of shifted replicas of g(t).

Sampling of Infinite a-Periodic Pulse Sequences

Under certain circumstances, the filters g_(r)(t) defined in Equation [28] can be used for sampling of infinite a-periodic pulse sequences of the form z(t)=

a_(l)h(t−t_(l)), t_(l),a_(l)∈

. Consider, for example, an infinite a-periodic pulse sequence in which the pulses appear in bursts. This signal has two distinct phases—bursts of maximal length τ containing at most L pulses each, and quiet phases between bursts.

In the present example, the pulse shape is a Dirac function, i.e., h(t)=δ(t), although any other suitable pulse shape can be used in alternative embodiments. When using Dirac pulses, the filter g*_(r)(−t) reduces to filter g*_(3p)(−t). Since filter g*_(3p)(−t) has a compact support of 3τ, the pulses in a given burst cannot influence samples that are acquired 3τ/2 seconds before or after the burst.

In the finite sequence case the samples were confined to the interval [0,τ). In the present case too, the samples are assumed to be acquired within the burst duration. Therefore, if the spacing between any two successive bursts in the signal is at least 3τ/2, any sample acquired in a give burst can only be influenced by the pulses of that burst and not by other bursts.

FIG. 5 is a graph showing a sampling scheme for sampling an infinite pulse sequence, in accordance with an embodiment of the present invention. The example of FIG. 5 shows two bursts belonging to an infinite a-periodic sequence of Dirac pulses. A g_(3p)(t) filter is shown around each burst, demonstrating that the samples in each burst are not affected by other bursts.

Under these conditions, the problem of sampling the infinite a-periodic pulses sequence is reduced to a sequential solution of multiple finite sequence sampling problems. Each of these finite sequences (bursts) can be sampled using the g_(3p)(t) filter, as described above. This solution assumes that the burst positions in the signal are known, in order to sample the bursts at the correct timing.

The burst positions can be assumed to be known in many practical applications, such as in synchronized communication applications in which the transmitter and receiver operate in accordance with a predefined frame structure, or in radar or imaging applications in which the pulses are transmitted and then received by the same unit. If the burst positions are not known, they can be determined using any suitable technique, for example using peak detection.

This result can be extended in a straightforward manner to general pulses h(t), as long as h(t) has a finite temporal support R and filtering is performed using filter g*_(r)(−t) and the appropriate choice of r from Equation [26]. If it is possible to choose a set

of consecutive indices for which

${{H\left( \frac{2\pi \; k}{\tau} \right)} \neq 0},{\forall{k \in}}$

and the spacing between successive bursts is at least ((2r+1)·τ+R)/2, then the above process can be used for sampling the infinite a-periodic pulse sequence.

Choosing Sum-Of-Sincs Filter Coefficients in the Presence of Noise

As noted above, parameters {b_(k)}_(k∈)

of the SoS filter in Equation [15] above can be chosen in various ways to meet various design goals or specifications. In some embodiments, digital samples c[n] are distorted by noise, and filter parameters {b_(k)}_(k∈)

are selected so as to optimize estimation using the noisy samples. In the following example the filter parameters are chosen so as to minimize the estimation Mean Square Error (MSE), although various other optimization criteria can also be used.

Consider, for example, a scenario in which digital noise is added to samples c[n], so that the noisy sample vector is given by y=c+w, wherein w denotes a white Gaussian noise vector. Using Equation [12] above, we can write:

y=V(−t _(s))Bx+w  [31]

wherein B denotes a diagonal matrix whose diagonal elements are {b_(k)}.

In The present example we assume that amplitudes {a_(l)} are uncorrelated with variance σ_(a) ², and that time positions {t_(l)} are distributed uniformly in interval [0,τ). Since the noise is added to the samples after filtering, increasing the filter gain would artificially reduce the MSE. Therefore, we also normalize the filter energy by adding the constraint Tr(B*B)=1.

Under these assumptions, it can be shown that the estimation MSE is minimized by choosing the following parameters {b_(k)}:

$\begin{matrix} {{b_{i}}^{2} = \left\{ \begin{matrix} {\frac{\sigma^{2}}{N}\left( {\sqrt{\frac{N}{\lambda \; \sigma^{2}}} - \frac{1}{{{\overset{\sim}{h}}_{i}}^{2}}} \right)} & {\lambda \leq {{{\overset{\sim}{h}}_{i}}^{4}{N/\sigma^{2}}}} \\ 0 & {\lambda > {{{\overset{\sim}{h}}_{i}}^{4}{N/\sigma^{2}}}} \end{matrix} \right.} & \lbrack 32\rbrack \end{matrix}$

wherein

${\overset{\sim}{h}}_{k} = {{H\left( \frac{2\pi \; k}{\tau} \right)}\sigma_{a}{\sqrt{L}/\tau}}$

and are arranged in ascending order of |{tilde over (h)}_(k)|, wherein

$\begin{matrix} {\sqrt{\lambda} = \frac{\left( {{} - m} \right)\sqrt{N/\sigma^{2}}}{\frac{N}{\sigma^{2}} + {\sum\limits_{i = {m + 1}}^{}{1/{{\overset{\sim}{h}}_{i}}^{2}}}}} & \lbrack 33\rbrack \end{matrix}$

and wherein m is the smallest index for which λ≦|{tilde over (h)}_(m+1)|⁴N/σ².

Based on the above, it can be shown that if |{tilde over (h)}_(k)|²=|{tilde over (h)}_(l)|²∀k,l∈

, then the optimal filter parameters are

${{b_{i}}^{2} = \frac{1}{}},{\forall{k \in}}$

For example, for Dirac pulses (i.e., h(t)=δ(t)), the optimal choice of parameters is b_(k)=b_(j) for all k and j.

Example Applications

As noted above, the disclosed techniques can be used for signal sampling and reconstruction in a wide variety of applications that process sequences of analog pulses. For example, in some imaging applications, a transmitter irradiates target tissue with a short ultrasound pulse. The pulse is reflected from various points in the tissue, due to variations in the acoustic impedance. Typically, reflections occur at boundaries between different tissue types. These reflections are sometimes referred to as ultrasound echoes.

The reflections are received, recorded and analyzed by a receiver. The reflections of a given pulse can be modeled as a finite sequence of pulses having a known pulse shape. The time positions of the pulses are indicative of the locations of the tissue type boundaries or other scatterers, and the pulse amplitudes are indicative of the differences in acoustic impedance between the tissue types. Both time positions and amplitudes are important for diagnosing the scanned tissue. In some embodiments, the disclosed techniques are used for sampling the ultrasound reflections and for calculating the pulse amplitudes and time positions. Example results of processing ultrasound reflections using the disclosed techniques are described in U.S. Provisional Patent Application 61/313,748, cited above.

The ultrasound imaging application is described purely by way of example. In alternative embodiments, the disclosed techniques can be used in any other suitable application, such as in other medical imaging applications, radar applications, communication applications, and many others. The particular design of input interface 24 may vary from one application to another, and typically depends on the type of signal that carries the pulse sequence (e.g., ultrasound signal, communication signal, radar signal, image signal or biological signal).

The embodiments described herein refer mainly to lowering the sampling rate at which the analog input signal (analog pulse sequence) is sampled. In alternative embodiments, however, the analog input signal can be sampled at a high sampling rate, and the sampled signal can then be filtered with the disclosed filters (e.g., SoS filter). A scheme of this sort is useful, for example, in applications where high sampling rate is tolerable but storage space or digital processing is to be reduced.

It will thus be appreciated that the embodiments described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and sub-combinations of the various features described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art. 

1. A method, comprising: accepting an analog input signal comprising a sequence of pulses; filtering the analog input signal so as to produce a filter output using a filter whose time-domain response is confined to a finite time period and whose frequency-domain response is non-zero at a finite set of integer multiples of a frequency shift Δω, and is zero at all other integer multiples of Δω; sampling the filter output so as to produce digital samples; and calculating respective amplitudes and time positions of the pulses in the sequence based on the digital samples.
 2. The method according to claim 1, wherein the frequency-domain response of the filter is representable as a finite sum of multiple frequency-shifted replicas of a filtering function, wherein the filtering function is zero at all the integer multiples n·Δω of the frequency shift Δω, except n=0.
 3. The method according to claim 2, wherein the filtering function comprises a normalized sinc function.
 4. The method according to claim 2, wherein the frequency-shifted replicas in the finite sum are weighted with respective weight coefficients.
 5. The method according to claim 2, wherein the weight coefficients are chosen so as to optimize estimation of the amplitudes and the time positions when the digital samples are distorted by noise.
 6. The method according to claim 1, wherein filtering the input signal and sampling the filter output comprise processing the input signal using a single processing channel that includes a single filter and a single sampler.
 7. The method according to claim 1, wherein calculating the amplitudes and the time positions comprises applying an annihilating filter to the digital samples.
 8. The method according to claim 1, wherein sampling the filter output comprises digitizing the filter output at uniformly-spaced sampling intervals.
 9. The method according to claim 1, wherein sampling the filter output comprises digitizing the filter output at non-uniformly-spaced sampling intervals.
 10. The method according to claim 1, wherein the input signal is infinite and periodic.
 11. The method according to claim 1, wherein the input signal is confined to a finite time interval.
 12. The method according to claim 11, wherein filtering the input signal comprises applying to the input signal a superposition of two or more instances of the filter that are shifted in time relative to one another by respective multiples of the finite time interval.
 13. The method according to claim 1, wherein the pulses in the input signal are confined to bursts, such that each burst is confined to a finite time interval, and wherein filtering the input signal comprises applying to the input signal, separately in each burst, a superposition of two or more instances of the filter that are shifted in time relative to one another by respective multiples of the finite time interval.
 14. The method according to claim 1, wherein accepting the input signal comprises receiving multiple ultrasound echo pulses that are reflected from tissue, and comprising outputting the amplitudes and the time positions of the echo pulses so as to diagnose the tissue based on the amplitudes and the time positions.
 15. The method according to claim 1, wherein accepting the input signal comprises receiving at least one signal type selected from a group of types consisting of an ultrasound signal, a communication signal, a radar signal, a biological signal and an image signal, which carries the sequence of the pulses.
 16. Apparatus, comprising: an input interface, which is configured to accept an analog input signal comprising a sequence of pulses; and a sampling unit, which comprises a filter whose time-domain response is confined to a finite time period and whose frequency-domain response is non-zero at a finite set of integer multiples of a frequency shift Δω, and is zero at all other integer multiples of Δω, and which is configured to filter the analog input signal using the filter so as to produce a filter output, and to sample the filter output so as to produce digital samples.
 17. The apparatus according to claim 16, wherein the frequency-domain response of the filter is representable as a finite sum of multiple frequency-shifted replicas of a filtering function, wherein the filtering function is zero at all the integer multiples n·Δω of the frequency shift Δω, except n=0.
 18. The apparatus according to claim 17, wherein the filtering function comprises a normalized sinc function.
 19. The apparatus according to claim 17, wherein the frequency-shifted replicas in the finite sum are weighted with respective weight coefficients.
 20. The apparatus according to claim 19, wherein the weight coefficients are chosen so as to optimize estimation of the amplitudes and the time positions when the digital samples are distorted by noise.
 21. The apparatus according to claim 16, wherein the sampling unit comprises a single processing channel, which comprises the filter and a single sampler that is configured to sample the filter output.
 22. The apparatus according to claim 16, wherein the sampling unit is configured to sample the filter output at uniformly-spaced sampling intervals.
 23. The apparatus according to claim 16, wherein the sampling unit is configured to sample the filter output at non-uniformly-spaced sampling intervals.
 24. The apparatus according to claim 16, wherein the input signal is infinite and periodic.
 25. The apparatus according to claim 16, wherein the input signal is confined to a finite time interval.
 26. The apparatus according to claim 25, wherein the sampling unit is configured to filter the input signal with a superposition of two or more instances of the filter that are shifted in time relative to one another by respective multiples of the finite time interval.
 27. The apparatus according to claim 16, wherein the pulses in the input signal are confined to bursts, such that each burst is confined to a finite time interval, and wherein the sampling unit is configured to apply to the input signal, separately in each burst, a superposition of two or more instances of the filter that are shifted in time relative to one another by respective multiples of the finite time interval.
 28. The apparatus according to claim 16, wherein the input interface is configured to receive at least one signal type selected from a group of types consisting of an ultrasound signal, a communication signal, a radar signal, a biological signal and an image signal, which carries the sequence of the pulses.
 29. The apparatus according to claim 16, and comprising a reconstruction unit, which is configured to calculate respective amplitudes and time positions of the pulses in the sequence based on the digital samples produced by the sampling unit.
 30. The apparatus according to claim 29, wherein the reconstruction unit is configured to calculate the amplitudes and the time positions by applying an annihilating filter to the digital samples.
 31. The apparatus according to claim 29, wherein the input interface is configured to receive multiple ultrasound echo pulses that are reflected from tissue, and wherein the reconstruction unit is configured to output the amplitudes and the time positions of the echo pulses so as to diagnose the tissue based on the amplitudes and the time positions. 